var mod1 = (function() {
        function test() {
            console.log(12);
        }

        function test1() {
            console.log(12);
        }

        function test2() {
            console.log(12);
        }
        return {
            test: test,
            test1: test1,
            test2: test2
        }
    })()
    // 通过模块注入的模式，做模块之间的依赖
    // 这种写模块的方式，就是模块化的放大模式
var mod2 = (function(mod) {
    function test4() {
        mod.test1()
    }

    function test5() {
        mod.test2()
    }

    function test6() {
        mod.test3()
    }
    return {
        test4: test4,
        test5: test5,
        test6: test6
    }
})(mod1)


//宽放大模式
//多个人写同一模块的情况下
var mod = {};
mod = (function(module) {
    module.a = 1;
    module.test = function() {
        console.log(132);
    }
    return module
})(mod || {})